package com.heima.controller;

import com.heima.pojo.dto.RegionPageDto;
import com.heima.pojo.dto.Regiondto;
import com.heima.pojo.vo.RegionPageVo;
import com.heima.service.RegionService;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import javax.validation.Valid;

@RestController
@Slf4j
@RequestMapping("/api/vm-service/region")
public class RegionController {

    @Autowired
    private RegionService regionService;

    /**
     * 分页查询地区
     * @param dto
     * @return
     */
    @GetMapping("/search")
    @ApiOperation("分页查询地区")
    public RegionPageVo pageQuery(RegionPageDto dto){
        log.info("dto:{}",dto);
        return regionService.pageQuery(dto);
    }

    /**
     * 新增区域
     */
    @PostMapping
    @ApiOperation("新增区域")
    public Boolean add(@RequestBody @Valid Regiondto dto){
        log.info("dto:{}",dto);
        regionService.save(dto);
        return true;
    }

    /**
     * 修改区域
     */
    @PutMapping("/{regionId}")
    @ApiOperation("修改区域")
    public Boolean update(@PathVariable("regionId") Long regionId,@RequestBody Regiondto dto){
        log.info("id:{},dto:{}",regionId,dto);
        dto.setId(regionId);
        regionService.save(dto);
        return true;
    }

    /**
     * 删除区域
     */
    @DeleteMapping("/{regionId}")
    @ApiOperation("删除区域")
    public Boolean delById(@PathVariable("regionId") Long regionId){
        log.info("id:{}",regionId);
        regionService.delById(regionId);
        return true;
    }


}
